Typical expert systems include a knowledge base, a working memory and a control portion, or inference engine. The knowledge base contains knowledge represented in the form of either production rules or procedures or a combination of both. The working memory, which is also termed a "blackboard", contains a set of facts, which may be established at the beginning of operation of the system, during prior processing by the system, or by an operator. The control portion controls the operation of the system in a series of execution cycles during which it processes the rules or procedures in connection with the contents of the working memory.
Production rules generally comprise two portions, namely, a condition portion, generally identified as the "left-hand side" of the rule, and an action or consequent list, which is generally identified as the "right-hand side" of the rule. The condition portion identifies one or more conditions which may be satisfied by the facts in the blackboard. The action list specifies one or more actions in connection with the system, such as adding, deleting or modifying a fact on the blackboard, transmitting a message to the operator, or halting the execution cycle. If the conditions comprising a rule's condition portion are satisfied, the rule is said to "fire", in which case the control portion executes the operations specified in the action list.
Procedures are essentially computer programs that define a series of steps or operations to be performed during an execution cycle. The procedure may specify, for example, one or more actions to be taken in connection with the system such as storing facts in the blackboard, transmitting a message to the operator or halting the execution cycle.